package main

import "fmt"

func main() {
	// 定义局部变量
	var a int = 100
	var b int = 200

	fmt.Printf("变换前 a 的值 : %d\n", a)
	fmt.Printf("变换前 b 的值 : %d\n", b)

	/*
		调用函数用于交换值
		&a 指向 a 变量的地址
		&b 指向 b 变量的地址
	*/
	swap(&a, &b)

	fmt.Printf("变换后 a 的值 : %d\n", a)
	fmt.Printf("变换后 b 的值 : %d\n", b)
}

func swap(x *int, y *int) {
	var temp int
	temp = *x // 保存 x 地址的值
	*x = *y   // 将 y 赋值给 x
	*y = temp // 将 temp 赋值给y
}
